The present disclosure relates generally to virtual computing systems, and more particularly, use of physical Peripheral Component Interconnect (PCI) devices for virtual computing systems.
A host machine (e.g., computer or server) is a computing system that is typically enabled to simultaneously run one or more virtual machines, where each virtual machine may be used by a local or remote client. The host machine allocates a certain amount of execution time from the host's physical processors to each of the virtual processors. Each virtual machine may use the allocated resources to execute applications, including operating systems known as guest operating systems.
A virtual machine is a piece of software that, when executed on appropriate hardware, creates an environment allowing the virtualization of an actual physical computer system. Each virtual machine running on the physical system may function as a self-contained platform, running its own operating system (OS) and software applications (processes) on one or more virtual processors.
Like with a physical machine, a virtual machine may be identified on a network by a logical address (e.g., an Internet Protocol (IP) address) and a physical address (e.g., a Media Access Control (MAC) address). As use of virtual machines increases, the logical addresses available for use by such virtual machines decreases. This may be particularly problematic for IPv4 address spaces. One mechanism that may be used to allow for more logical addresses is fan networking. Fan networking involves trading the ability to route to a larger network (such as a /8 network) by providing additional IP addresses (e.g., an additional 253 IP addresses for a /8 network) behind a number of host IP addresses. It is desirable to use such mechanisms in an efficient manner.